約 3,764,952 件
https://w.atwiki.jp/takaidohigasi/pages/20.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.4 MySQL 5.5の変更点 1.4.4 Solalisのサポート拡張 ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/solaris-enhancements.html Solarisのサポート拡張 MySQL5.5ではSolaris上でのMySQLサーバの操作性を向上させるいくつかの変更が加えられています。 実行をモニタするDTraceのサポート。詳細は1.4.3章の診断・モニタ機能を参照してください 1.4.1章の「スケーラビリティーの改善」で述べられるRW-ロッキングの改善に必要とされる、アトミックインストラクション。アトミックインストラクションは現在、Sun StudioのSPARCとx86でサポートされています。これにより、プリビアスアベイラビリティーを拡張します(これは全プラットフォームのgcc 4.1以上でサポートされています) 1.4.1章の「スケーラビリティーの改善」で述べられるSMPの改善は、元々x86プラットフォーム向けのものでした。MySQL5.5では、SPARCプラットフォームでも動作するようになりました。Solaris向けの最適化も実装されました。 ラージページのサポートが最近のSPARCプラットフォームで拡張されました。MySQLでラージページを標準的に利用する際は、上限4MBでサポートされる最大のサイズを利用しようとします。Solarisでは、「スーパーラージページ」機能により、256MBまで利用可能となります。この機能は--super-large-pageまたは--skip-super-large-pagesオプションによって有効化/無効化出来ます。 InnoDBのインラインハンドリングと、プリフェッチ命令のサポートは、以前はSun Studioのビルド環境下では利用できませんでしたが、利用可能となりました。
https://w.atwiki.jp/net-k/pages/17.html
MySQL5.0/5.1 slow query 設定の仕方 http //d.hatena.ne.jp/yonchu/20100716/1279301089 確認コマンド show variables like log% ; レプリケーション設定方法 http //www29.atwiki.jp/m_shige1979/pages/620.html
https://w.atwiki.jp/tyama-joy/pages/12.html
ストアドファンクション DELIMITER $$ DROP FUNCTION IF EXISTS `exchange`.`sf_sma` $$ CREATE DEFINER=`root`@`localhost` FUNCTION `sf_sma`(in_date date,in_days int) RETURNS double BEGIN DECLARE rtn_val double default 0; DECLARE done INT DEFAULT 0; declare rate varchar(6); declare total_rate double default 0; declare cnt int default 0; declare cur cursor for select end from rate where date in_date order by date desc; DECLARE CONTINUE HANDLER FOR SQLSTATE 02000 SET done = 1; open cur; REPEAT FETCH cur INTO rate; IF NOT done THEN set cnt = cnt + 1; set total_rate = total_rate + rate; if cnt = in_days then SET done = 1; end if; END IF; UNTIL done END REPEAT; close cur; IF cnt = in_days THEN set rtn_val = total_rate / in_days; END IF; return round(rtn_val,2); END $$ DELIMITER ;
https://w.atwiki.jp/sanosoft/pages/118.html
MySQL8.0のインストール MySQL8.0をインストールします。 1. インストール yumのリポジトリの追加登録方法 (CentOS 7)で「MySQL」のリポジトリを追加して、MySQLの8.0をインストールします。 # yum --enablerepo=mysql80-community install mysql-community-server CentOSではデフォルトで「mariadb-libs」がインストールされていますが、上記コマンドを実行すると入れ替わります。 2. MySQLの設定 (1) DBの初期化 DBの初期化を行います。 # mysqld --initialize --user=mysql --datadir=/var/lib/mysql ※5.6までは「mysql_install_db」コマンドで行いましたが、5.7からは変更になりました。 このコマンドで初期化を行うと、初期ユーザとして「root@localhost」が作成されます。 また、初期パスワードが「/var/log/mysqld.log」に書き込まれます。 ちなみに「mysqld --initialize-insecure」とすると、パスワードは空となります。 (2) /etc/my.cnfの設定 MySQLの設定は、「/etc/my.cnf」で行います。 (3) MySQLの起動 設定が完了したら、MySQLのサービスを起動します。 # systemctl start mysqld.service (4) 自動起動設定 サーバを再起動した場合に自動的にサービスが起動するようにします。 # systemctl enable mysqld.service (5) mysql_secure_installationの実行 MySQLのセキュリティを向上させるために「mysql_secure_installation」を実行します。 # /usr/bin/mysql_secure_installation このコマンドは、 rootユーザのパスワード文字列を設定する VALIDATE PASSWORD PLUGINをインストール(Yes|No) anonymousユーザを削除する(Yes|No) リモートからのrootログインを禁止する(Yes|No) TESTデータベースを削除する(Yes|No) 権限を再読み出しする(Yes|No) という作業を対話式に順次実行します。 3. rootパスワードの変更 インストール直後は、「root」ユーザにテンポラリーパスワードが設定されているので、パスワードを変更します。 ※前述の「mysql_secure_installation」を実行した場合には不要です。 MySQLにログインします。 # mysql -u root -p Enter password パスワードを変更します。 mysql SET PASSWORD FOR root@localhost= xxxxxx ; mysql exit; ※従来の「SET PASSWORD FOR root@localhost=PASSWORD( xxxxxx );」だとSyntaxエラーが発生します。 変更したパスワードでログインできることを確認します。 # mysql -u root -p Enter password ログインできればOKです。 4. その他のコマンド (1) ユーザ作成 CREATE USER (ユーザID) @ localhost IDENTIFIED WITH mysql_native_password BY (パスワード) ; GRANT ALL PRIVILEGES ON (テーブル名).* TO (ユーザID) @ localhost ; ※※【注意事項】※※ 「my.cnf」で「skip-name-resolve」を指定している場合には、ホストの名前解決ができないため「localhost」ではエラーとなる。その場合には「127.0.0.1」と記述すること。 5. cronでの実行の場合 定期バックアップなどでコマンドラインからMySQLを実行する場合に、パスワードをコマンドラインに含めると警告が発生しますし、またセキュリティ上問題があります。 そこで、設定ファイルを作成して、コマンドラインから読込みます。 (1) 設定ファイルの作成 「/etc/.mysql_config」という設定ファイルを作成します。 # vi /root/.mysql_config 内容は以下の通りです。 [client] user = root password = (パスワード) host = localhost 「root」以外読めないようにします。 # chmod 400 /root/.mysql_config (2) コマンドラインでの実行 「--defaults-extra-file」オプションで設定ファイルを読み込みます。 【例】 for DBNAME in `ls -p /var/lib/mysql | grep / | tr -d /` do # mysqldump if [ "$DBNAME" = performance_schema ] then /usr/bin/mysqldump --defaults-extra-file=/root/.mysql_config --skip-lock-tables --skip-extended-insert $DBNAME $DBNAME.dump else /usr/bin/mysqldump --defaults-extra-file=/root/.mysql_config --events --skip-lock-tables --skip-extended-insert $DBNAME $DBNAME.dump fi done 6. MySQLのコマンド (1) mysqldump ■データベースを出力 mysqldump --defaults-extra-file=/root/.mysql_config -c -skip-extended-insert (DB名) (出力ファイル名) ■テーブルを指定して出力 mysqldump --defaults-extra-file=/root/.mysql_config -c -skip-extended-insert (DB名) (テーブル名) (出力ファイル名) (2) mysql ■ダンプファイルをインポート mysql --defaults-extra-file=/root/.mysql_config (DB名) (ダンプファイル名)
https://w.atwiki.jp/fieds_labo1/pages/54.html
mysql SQL SHOW 情報参照SQL フィールド情報表示 FULLオプション指定時はフィールドに対する権限情報も表示。 SHOW [FULL] COLUMNS FROM table_name [FROM database_name] [LIKE column_name ] フィールド情報表示 SHOW COLUMNS FROMのショートカット DESC / DESCRIBE table_name インデックス情報表示 テーブルの持つインデックスに関する情報を表示 SHOW INDEX FROM table_name [FROM database_name] ステータス情報表示 統計、オプションなどのテーブルに関するステータス情報を表示 SHOW TABLE STATUS [FROM database_name] [LIKE status_name ] テーブル構造表示 指定したテーブルと同一のテーブルを作成するためのSQL文を表示 SHOW CREATE TABLE table_name データベース一覧表示 SHOW DATABASES [LIKE database_name ] 開いているテーブル一覧表示 SHOW [OPEN] TABLES [FROM database_name] [LIKE table_name ] MySQLサーバのステータス情報表示 SHOW STATUS [LIKE status_name ] MySQLサーバのシステム変数表示 SHOW VARIABLES [LIKE system_variable_name ] MySQLサーバのログファイル一覧表示 SHOW LOGS MySQLサーバ上の動作プロセス一覧表示 SHOW [FULL] PROCESSLIST 指定したユーザと同じユーザを作成するためのSQL文表示 SHOW GRANTS FOR user_name マスタのステータス情報表示(レプリケーション) SHOW MASTER STATUS マスタのログ一覧表示(レプリケーション) SHOW MASTER LOGS スレーブのステータス情報表示(レプリケーション) SHOW SLAVE STATUS
https://w.atwiki.jp/huaca15/pages/15.html
MYSQLのお勉強について MMMについて REPLICATIONについて
https://w.atwiki.jp/lmes2/pages/173.html
MySQL本体のインストール 概要 windowsXP に MySQL をインストールする方法。 手順 えー、まず、公式のDLページ から、本体をDLする。 この項を書いている時点での最新は MySQL5.0 のようだが、MySQL5.1をDLする。以後、5.1で進める。 MySQL5.1のリリースを選択する。 not found (433.jpg) not found (434.jpg) DLしたzipを解凍し、「setup.exe」を実行。 not found (435.jpg) not found (436.jpg) not found (437.jpg) not found (438.jpg) not found (439.jpg) 「Configure the MySQL Server now」にチェック。 not found (440.jpg) 上記までで、MySQL のインストールは完了。 「MySQL Server Instance Config Wizard」が続けて起動する。 not found (441.jpg) ■設定の仕方 「Detailed Configuration」(詳細設定)を選択する。 not found (442.jpg) ■マシン環境 「Developer Machine」(開発用マシン)を選択する。 ※「Server Machine」は、開発をしない運用向け。 not found (443.jpg) ■データ格納方法 「Multifunctional Database」を選択する。 ※「Transactional Database Only」は、更新処理が多い業務用の構成。 ※「Non-Transactional Database Only」は、検索処理が多い業務用の構成。 not found (444.jpg) ■インストールする場所 デフォルトでよい。 not found (445.jpg) ■データベース接続数 「Decision Support」(最大20)を選択。 増やしたい場合は、他の選択肢を選ぶとよい。 not found (446.jpg) ■ポート デフォルト「3306」のままでよい。 not found (447.jpg) ■文字コード 「Best Support for Multilingualism」(UTF8)を選択。 not found (448.jpg) ■Windows 用のオプション 「Install as Windows Service」(サービスに登録)にチェック。 「Service Name」に「MySQL51」を選択。 「Lanch the MySQL Server automatically」(サービスのスタートアップを「自動」にする)にチェック。 「Include Bin Directory in Windows PATH」(bin ディレクトリにパスを通す)にチェック。 not found (449.jpg) ■セキュリティオプション 管理者(root)ユーザのパスワードを入力。 「Enable root access from remote machines」(root 権限でのリモート接続を許可する)にチェック。 not found (450.jpg) not found (451.jpg) ここまでで MySQL の設定が完了。 not found (452.jpg)
https://w.atwiki.jp/m_shige1979/pages/1392.html
接続 概要 DNSを指定して、接続しオブジェクトにはnullを設定すれば切断されます。 サンプル ソース ?php /******************************************* * PDO *******************************************/ try{ // MySQLサーバへ接続 $pdo = new PDO( "mysql host=localhost; dbname=pdotest", "root", ""); // ダンプ var_dump($pdo); }catch(PDOException $e){ var_dump($e- getMessage()); } // 切断 $pdo = null; 結果 php -f sample01.php object(PDO)#1 (0) { }
https://w.atwiki.jp/aurora72source2/pages/12.html
#!/usr/local/bin/perl ################################################### #mysql.cgi MySQLプログラム # 2003.02.13 MARCO # edit 2003.12.13 MARCO # # パーミッション # mysql.cgi(755) ################################################### ############ 設定項目 ############## #データベース名 $dbname= データベース名 ; #ユーザー名 $user= ユーザ名 ; #パスワード $pass= パスワード ; ###################################### #入力データを獲得 use CGI; use DBI; $form=CGI- new(); $sql=$form- param("sql"); #HTML作成 print "Content-type text/html\n\n"; print " HTML \n HEAD \n"; print " meta http-equiv=\"Content-Type\" content=\"text/html;charset=x-sjis\" \n"; print " TITLE MySQL /TITLE \n"; print " /HEAD \n BODY \n"; print " center font size=5 b MySQL /b /font /center \n"; if($sql ne ){ $db=DBI- connect("DBI mysql $dbname localhost","$user","$pass"); $sth=$db- prepare($sql); $res=$sth- execute; if($res){ $num=$sth- rows; $com=substr($sql,0,6); $com=~tr/a-z/A-Z/; if($com eq SELECT ){ print " TABLE bgcolor=#ddddff \n"; for($i=0;$i $num;$i++){ @a=$sth- fetchrow_array; print " tr "; foreach(@a){ print " td $_ /td \n"; } print " /tr \n"; } print " /table \n"; } print "$num件処理されました br \n"; print "戻り値 = $res br \n"; } else{ print "エラーです\n"; } $sth- finish; $db- disconnect; } print " FORM ACTION=mysql.cgi METHOD=POST SQL br \n"; print " textarea name=sql rows=5 cols=70 $sql /textarea \n"; print " br input type=submit value=submit br \n"; print " /FORM \n"; print " /BODY \n /HTML \n";
https://w.atwiki.jp/nicepaper/pages/65.html
MySQLでテーブルを作成する流れを説明していきます。5月31日記事 目次 とりあえずテーブル作成 設計 ログイン テーブル作成 テーブル作成のコマンドラインの意味 ストレージエンジンの種類 主キーとINDEX データ型 次 とりあえずテーブル作成 最初は新着情報を管理するテーブルを作っていきます。 設計 そんなに新着時間を表示させるほどの情報はないので、日付のみにするとします。すると、記事ID、日付(時間なし)、タイトル、内容属性、本文、URL、ステータスというところでしょうか。ステータスは、投稿状態を表すもので公開(2)、下書き(1)、削除(0)といったものを格納していきます。 ログイン ログインします。 mysql -u ユーザ名 -pユーザパスワード これでログインします。 ログイン後 use データベース名; と入力します。 テーブル作成 informationというテーブルを作っていきます。 CREATE TABLE information( id INT NOT NULL AUTO_INCREMENT, info_date DATE NOT NULL default 0000-00-00 , title VARCHAR(255) NOT NULL default , type TINYINT(1) NOT NULL default 0 , info_text TEXT NOT NULL default , url VARCHAR(255) NOT NULL default , status TINYINT(1) NOT NULL default 0 , PRIMARY KEY (`id`), INDEX `info_date` (`info_date`), INDEX `status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0; ※削除は mysql DROP TABLE information; です。 主キーは記事IDです。INDEXは公開日付、ステータスに張っていきます。データベースで検索するときに、最新5件の記事+ステータスが2の状態の記事を検索するクエリを投げれば5件のデータを取得できるようにしておきます。ステータスのINDEXはこれ以外にも現在の更新情報数を数えるためにも必要なものです。 テーブル作成のコマンドラインの意味 ストレージエンジンの種類 MySQLにはテーブルの種類の違いがあります。俗にストレージエンジンと呼ばれ、InnoDBとMyISAMというものが有名です。前まではMyISAMがよく使われていましたが、ここ最近InnoDBを使っていこうという風潮があります。MySQLのバージョン5.5以降では、InnoDBがデフォルトになっています。特に指定がない限り、何も記述しないかInnoDBを指定するようにしましょう。データベースは、テーブルのデータを更新、変更した際に、他のテーブルも同時に更新することを求められる場合があります。その際に、何らかのトラブルがあった時に、処理を一度取り消し、再び行うことが求められます。InnoDBがそれができるのです。 MyISAM InnoDB 概要 テーブルに対してロック レコードに対してロック 長所 マシンへの負担が少ない 異なるレコードの場合同時に処理できる。処理が早い 短所 異なるレコードの処理を同時にできない。 昔は全文検索ができなかった。 利用 数少ない更新であれば有利 様々なユーザが使う場合に有利 主キーとINDEX データベースはデータとなる情報(レコード)が増えてこれば検索や管理が大変になります。データベースはExcelのように 何もせずに データを早く検索できたりソートかけれるものではありません。データベースは、主キーやINDEXを 自らつけて 処理を早くしていく設計をしていかなければなりません。 違いについては主キーは値が一つしかつかないもの。インデックスは検索を早くするものです。 http //www.nishi2002.com/4002.htmlには 主キー --- 行を識別するもの(口座番号、生徒番号、社員番号などの役割) インデックス --- 検索を速くするもの(書籍の巻末にある索引の役割) と書かれています。もちろん主キーも検索するときに利用されたりしますしインデックスがつけられています。 また、主キーにはPrimaryKeyというものがつけられ、重複する値は格納されないという性質を持ちます。最初にテーブルのデータが入る行(レコード)に一つずつつけられていきます。 イメージとしては本のページ数です。 一方、インデックスとは、本の索引のような機能です。本はページ数だけで成り立ちますが、より早く本の情報を検索するためには巻頭や巻末に索引機能を設け検索を高速にしています。 そして、これらを列(カラム)にどうつけていくかは設計者やテーブル作成者が決めていかなければなりません。 一見、全部にINDEXつければいいのに。と思う人もいるかもしれませんが、情報量が無駄に多くなったりします。やはり 自分の意図した検索だけをさせ処理や検索を高速化させる構想を頭の中で考えながらテーブル設計していくことが求められます。 データ型 データベースのフィールドに入れられる文字または数字には文字数やバイト数や文字数の上限と下限が決められています。どんな値でも入れられるとは限りません。ここでは、その型の種類と上限や下限についてまとめていきたいと思います。 数値の型については以下の通りです。数値はどのような数値でも格納できるわけではありません。入れられる数値には範囲があります。わからなければ 最初はINT型だけ 覚えておけばいいと思います。 型 最小値 最大値 サイズ TINYINT -128 127 1バイト TINYINT UNSIGNED 0 255 1バイト SMALLINT -32768 32767 2バイト SMALLINT UNSIGNED 0 65535 2バイト MEDIUMINT -8388608 8388607 3バイト MEDIUMINT UNSIGNED 0 16777215 3バイト INT -2147483648 2147483647 4バイト INT UNSIGNED 0 4294967295 4バイト BIGINT -9223372036854775808 9223372036854775807 8バイト BIGINT UNSIGNED 0 18446744073709551615 8バイト FLOAT -3.402823466E+38 3.402823466E+38 4バイト FLOAT UNSIGNED 0 3.402823466E+38 4バイト DOUBLE -1.7976931348623157E+308 1.7976931348623157E+308 8バイト DOUBLE UNSIGNED 0 1.7976931348623157E+308 8バイト 文字データ型 型 説明 カッコ内 バイト数 特徴 VARCHAR 可変長文字列 最大バイト数を指定 0~65535バイト 最大バイト数は決まるが小さい場合は変化 CHAR 固定長文字列 文字数を指定 0~255文字 常に文字数固定。処理が早くなり軽い TEXT 可変長文字列 65,535バイト 文章等がよく挿入される MEDIUMTEXT 可変長文字列 16,777,215バイト 日付型 型 日付形式 有効範囲 バイト数 DATE YYYY-MM-DD 1000-01-01 ~ 9999-12-31 3バイト DATETIME YYYY-MM-DD HH MM SS 1000-01-01 00 00 00 ~ 9999-12-31 23 59 59 8バイト TIMESTAMP YYYY-MM-DD HH MM SS 1970-01-01 00 00 00 ~ 2037-12-31 23 59 59 4バイト TIME HH MM SS -838 59 59 ~ 838 59 59 3バイト 次 次回はテーブル作成後の意味や操作についてMySQLでテーブル作成2を書いていきたいと思います。